.class public rec_fact_1
.super java/lang/Object

.method public static fact(I)I
.limit stack 20
.limit locals 20
iconst_1
istore_3

iload_0
iconst_0
if_icmple loop0_end

iload_0
iconst_1
isub
istore_2

iload_0
iload_2
invokestatic rec_fact_1/fact(I)I

imul
istore_3

loop0_end:

iload_3
ireturn
.end method

.method public static main([Ljava/lang/String;)V
.limit stack 20
.limit locals 20
iconst_4
istore_0

iload_0
invokestatic rec_fact_1/fact(I)I

istore_1

ldc "factorial "
iload_0
invokestatic io/print(Ljava/lang/String;I)V

ldc " = "
iload_1
invokestatic io/println(Ljava/lang/String;I)V

return
.end method
